package edu.office.entities;

import io.quarkus.hibernate.orm.panache.PanacheEntityBase;

public abstract class EntityCommon<T extends Identifiable> extends PanacheEntityBase  {

    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null || getClass() != obj.getClass()) {
            return false;
        }
        // 这里我们假设obj是EntityCommon的实例，因此可以直接转型
        EntityCommon<T> that = (EntityCommon<T>) obj;
        // 由于T实现了Identifiable接口，我们可以安全地调用getId()方法
        return ((T) that).getID().equals(this.getID());
    }
    public abstract Integer getID() ;
}
